package pl.PawelAndAlicja.badugiproject.main.Cards;


public class DeckTestDrive {

    public static void main(String[] args) {
        FlyweightFactoryCard factoryCard = new FlyweightFactoryCard();
        ClientDeck clientDeck = new ClientDeck(factoryCard);

        FlyweightCard spadeCard = clientDeck.createCard("Spade", "King");
        FlyweightCard spadeCard2 = clientDeck.createCard("Spade", "King");
        FlyweightCard spadeCard3 = clientDeck.createCard("Spade", "King");
        FlyweightCard clubCard = clientDeck.createCard("Club", "Queen");
        FlyweightCard diamondCard = clientDeck.createCard("Diamond", "Jack");
        FlyweightCard heartCard = clientDeck.createCard("Heart", "Ace");


        System.out.println("Stworzono karte: " + spadeCard);
        System.out.println("Stworzono karte: " + spadeCard2);
        System.out.println("Stworzono karte: " + spadeCard3);
        System.out.println("Stworzono karte: " + clubCard);
        System.out.println("Stworzono karte: " + diamondCard);
        System.out.println("Stworzono karte: " + heartCard);

        System.out.println("Ponownie tworzymy to samo by sprawdzic ze nie utworzy");

        spadeCard = clientDeck.createCard("Spade", "King");
        clubCard = clientDeck.createCard("Club", "Queen");
        diamondCard = clientDeck.createCard("Diamond", "Jack");
        heartCard = clientDeck.createCard("Heart", "Ace");

        System.out.println("Stworzono karte: " + spadeCard);
        System.out.println("Stworzono karte: " + clubCard);
        System.out.println("Stworzono karte: " + diamondCard + "  o mocy: " + diamondCard.getPower());
        System.out.println("Stworzono karte: " + heartCard);
        System.out.println("Stworzono karte: " + heartCard + "  o mocy: " + heartCard.getPower());


        //////////////
        /////////////
        FlyweightFactoryCard factoryCard2 = new FlyweightFactoryCard();
        ClientDeck clientDeck2 = new ClientDeck(factoryCard2);
        clientDeck2.createDeck();
        clientDeck2.showDeck();
        clientDeck2.shuffleDeck();
        System.out.println();
        System.out.println();
        clientDeck2.showDeck();

        clientDeck2.removeCard("Spade", "10");
        clientDeck2.removeCard("Spade", "Ace");
        clientDeck2.removeCard("Club", "King");
        clientDeck2.removeCard("Diamond", "10");
        clientDeck2.removeCard("Heart", "10");
        clientDeck2.removeCard("Spade", "5");
        clientDeck2.removeCard("Club", "2");

        System.out.println();
        System.out.println();
        clientDeck2.showDeck();
    }
}
